#pragma once

#ifdef BOOST_CONCEPT_REQUIRES_DWA2006430_HPP
    #error include this header after <boost/concept/requires.hpp>
#endif

#include <boost/concept/requires.hpp>

#define BOOST_CONCEPT_REQUIRES(models, result)                                                     \
    typename ::boost::Requires_<(0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)),     \
                                void(*) result>::type
